home *** CD-ROM | disk | FTP | other *** search
/ Macworld Expo - Develope…Central & Net Innovations / Developer Central and Net Innovators (MacWorld Expo) (January 1999).iso / Developer Central / Bowers Development / Demo AppMaker / Examples / Pascal OS8 / Everything / ModelessCheckboxes.p < prev    next >
Encoding:
Text File  |  1998-10-30  |  6.1 KB  |  234 lines  |  [TEXT/CWIE]

  1. { ModelessCheckboxes.p -- modeless dialog }
  2. { Created 10/30/98 1:06 PM by AppMaker }
  3.  
  4. Unit ModelessCheckboxes;
  5. Interface
  6.  
  7. Uses
  8.     Types,
  9.     Quickdraw,
  10.     Controls,
  11.     Dialogs,
  12.     Events,
  13.     Lists,
  14.     Menus,
  15.     TextEdit,
  16.     DModelessCheckboxesData,
  17.     AMDialog;
  18.  
  19. Procedure ShowModelessCheckboxes;
  20.  
  21. type
  22.     CModelessCheckboxes        = object (AMDialog)
  23.  
  24.     {data members}
  25.         mData:        DModelessCheckboxesData;
  26.  
  27.     mStandardHandle:        ControlHandle;
  28.     mXxHandle:        ControlHandle;
  29.     mGraphicHandle:        ControlHandle;
  30.     mLRHandle:        ControlHandle;
  31.     mLR2Handle:        ControlHandle;
  32.     mLR3Handle:        ControlHandle;
  33.     mLR4Handle:        ControlHandle;
  34.     mCheckboxHandle:        ControlHandle;
  35.     mBevelHandle:        ControlHandle;
  36.     mCheckbox2Handle:        ControlHandle;
  37.     mNextHandle:        ControlHandle;
  38.     mNext2Handle:        ControlHandle;
  39.  
  40.     {methods - public}
  41.         Procedure ConnectToData    (inData:    AMSignaler); Override;
  42.  
  43.     {methods - internal}
  44.         Procedure FinishMake; Override;
  45.         Procedure DoItem    (inItemHit:    SInt16); Override;
  46.         Procedure DataChanged    (inDataID:    longint); Override;
  47.  
  48.     end;
  49.  
  50. var
  51.     sModelessCheckboxesPtr:        DialogPtr;
  52.  
  53. {----------}
  54. Implementation
  55.  
  56. Uses
  57.     ResourceDefs,
  58.     ControlUtils,
  59.     Miscellany;
  60.  
  61. const
  62.     kStandardCheck        = 1;
  63.     kXxCheck        = 2;
  64.     kCapTriangleLabel        = 3;
  65.     kGraphicBox        = 4;
  66.     kCapcicnLabel        = 5;
  67.     kLRCheck        = 6;
  68.     kCapicl8Label        = 7;
  69.     kLR2Check        = 8;
  70.     kCapICNLabel        = 9;
  71.     kLR3Check        = 10;
  72.     kCapPICTLabel        = 11;
  73.     kLR4Check        = 12;
  74.     kCapicl9Label        = 13;
  75.     kCheckboxCheck        = 14;
  76.     kBevelBox        = 15;
  77.     kCheckbox2Check        = 16;
  78.     kNextCheck        = 17;
  79.     kNext2Check        = 18;
  80.  
  81.  
  82. {----------}
  83. Function NewModelessCheckboxes: CModelessCheckboxes;
  84. var
  85.     dialog:        CModelessCheckboxes;
  86. begin
  87.     dialog := nil;
  88.     New (dialog);
  89.  
  90.     if dialog <> nil then begin
  91.         dialog.Initialize;
  92.     end;
  93.     NewModelessCheckboxes := dialog;
  94. end;
  95.  
  96. {----------}
  97. Procedure CreateModelessCheckboxes;
  98. var
  99.     dialog:        CModelessCheckboxes;
  100.     data:        DModelessCheckboxesData;
  101. begin
  102.     dialog := NewModelessCheckboxes;
  103.     data := NewDModelessCheckboxesData;
  104.  
  105.     dialog.MakeDialog (DLOG_ModelessCheckboxes);
  106.     dialog.ConnectToData (data);
  107. end; {CreateModelessCheckboxes}
  108.  
  109. {----------}
  110. Procedure ShowModelessCheckboxes;
  111. begin
  112.     if sModelessCheckboxesPtr = nil then begin
  113.         CreateModelessCheckboxes;
  114.     end;
  115.     if sModelessCheckboxesPtr <> nil then begin
  116.         SelectWindow (sModelessCheckboxesPtr);
  117.         ShowWindow (sModelessCheckboxesPtr);
  118.     end;
  119. end; {ShowModelessCheckboxes}
  120.  
  121. {----------}
  122. Procedure CModelessCheckboxes.FinishMake;
  123. var
  124.     errCode:        OSErr;
  125. begin
  126.     sModelessCheckboxesPtr := mDialog;
  127.  
  128.     mStandardHandle := GetControlItem (kStandardCheck);
  129.     mXxHandle := GetControlItem (kXxCheck);
  130.     mGraphicHandle := GetControlItem (kGraphicBox);
  131.     mLRHandle := GetControlItem (kLRCheck);
  132.     mLR2Handle := GetControlItem (kLR2Check);
  133.     mLR3Handle := GetControlItem (kLR3Check);
  134.     mLR4Handle := GetControlItem (kLR4Check);
  135.     mCheckboxHandle := GetControlItem (kCheckboxCheck);
  136.     mBevelHandle := GetControlItem (kBevelBox);
  137.     mCheckbox2Handle := GetControlItem (kCheckbox2Check);
  138.     errCode := SetBevelButtonGraphicAlignment (mCheckbox2Handle, kControlBevelButtonAlignCenter, 0, 0);
  139.     mNextHandle := GetControlItem (kNextCheck);
  140.     errCode := SetBevelButtonTextPlacement (mNextHandle, kControlBevelButtonPlaceToRightOfGraphic);
  141.     errCode := SetBevelButtonTextAlignment (mNextHandle, kControlBevelButtonAlignTextFlushLeft, 0);
  142.     errCode := SetBevelButtonGraphicAlignment (mNextHandle, kControlBevelButtonAlignLeft, 0, 0);
  143.     mNext2Handle := GetControlItem (kNext2Check);
  144.     errCode := SetBevelButtonTextPlacement (mNext2Handle, kControlBevelButtonPlaceBelowGraphic);
  145.     errCode := SetBevelButtonTextAlignment (mNext2Handle, kControlBevelButtonAlignTextCenter, 0);
  146.     errCode := SetBevelButtonGraphicAlignment (mNext2Handle, kControlBevelButtonAlignTop, 0, 0);
  147. end;
  148.  
  149. {----------}
  150. Procedure CModelessCheckboxes.ConnectToData (
  151.     inData:        AMSignaler); Override;
  152. begin
  153.     inherited ConnectToData (inData);
  154.     mData := DModelessCheckboxesData (inData);
  155.  
  156.     SetControlValue (mStandardHandle, ord (mData.GetStandard7));
  157.     SetControlValue (mXxHandle, ord (mData.GetXx3));
  158.     SetControlValue (mLRHandle, ord (mData.GetLR9));
  159.     SetControlValue (mLR2Handle, ord (mData.GetLR10));
  160.     SetControlValue (mLR3Handle, ord (mData.GetLR11));
  161.     SetControlValue (mLR4Handle, ord (mData.GetLR12));
  162.     SetControlValue (mCheckboxHandle, ord (mData.GetCheckbox5));
  163.     SetControlValue (mCheckbox2Handle, ord (mData.GetCheckbox6));
  164.     SetControlValue (mNextHandle, ord (mData.GetNext5));
  165.     SetControlValue (mNext2Handle, ord (mData.GetNext6));
  166. end;
  167.  
  168. {----------}
  169. Procedure CModelessCheckboxes.DoItem (
  170.     inItemHit:        SInt16);
  171. begin
  172.     case inItemHit of
  173.     kStandardCheck:
  174.             mData.SetStandard7 (ToggleCheckbox (mStandardHandle));
  175.     kXxCheck:
  176.             mData.SetXx3 (ToggleCheckbox (mXxHandle));
  177.     kLRCheck:
  178.             mData.SetLR9 (ToggleCheckbox (mLRHandle));
  179.     kLR2Check:
  180.             mData.SetLR10 (ToggleCheckbox (mLR2Handle));
  181.     kLR3Check:
  182.             mData.SetLR11 (ToggleCheckbox (mLR3Handle));
  183.     kLR4Check:
  184.             mData.SetLR12 (ToggleCheckbox (mLR4Handle));
  185.     kCheckboxCheck:
  186.             mData.SetCheckbox5 (ToggleCheckbox (mCheckboxHandle));
  187.     kCheckbox2Check:
  188.             mData.SetCheckbox6 (GetControlValue (mCheckbox2Handle) <> 0);
  189.     kNextCheck:
  190.             mData.SetNext5 (GetControlValue (mNextHandle) <> 0);
  191.     kNext2Check:
  192.             mData.SetNext6 (GetControlValue (mNext2Handle) <> 0);
  193.  
  194.     end; {switch}
  195. end;
  196.  
  197. {----------}
  198. Procedure CModelessCheckboxes.DataChanged (
  199.     inDataID:        longint); Override;
  200. begin
  201.     if inDataID = idStandard7 then begin
  202.         SetControlValue (mStandardHandle, ord (mData.GetStandard7));
  203.     end;
  204.     if inDataID = idXx3 then begin
  205.         SetControlValue (mXxHandle, ord (mData.GetXx3));
  206.     end;
  207.     if inDataID = idLR9 then begin
  208.         SetControlValue (mLRHandle, ord (mData.GetLR9));
  209.     end;
  210.     if inDataID = idLR10 then begin
  211.         SetControlValue (mLR2Handle, ord (mData.GetLR10));
  212.     end;
  213.     if inDataID = idLR11 then begin
  214.         SetControlValue (mLR3Handle, ord (mData.GetLR11));
  215.     end;
  216.     if inDataID = idLR12 then begin
  217.         SetControlValue (mLR4Handle, ord (mData.GetLR12));
  218.     end;
  219.     if inDataID = idCheckbox5 then begin
  220.         SetControlValue (mCheckboxHandle, ord (mData.GetCheckbox5));
  221.     end;
  222.     if inDataID = idCheckbox6 then begin
  223.         SetControlValue (mCheckbox2Handle, ord (mData.GetCheckbox6));
  224.     end;
  225.     if inDataID = idNext5 then begin
  226.         SetControlValue (mNextHandle, ord (mData.GetNext5));
  227.     end;
  228.     if inDataID = idNext6 then begin
  229.         SetControlValue (mNext2Handle, ord (mData.GetNext6));
  230.     end;
  231. end;
  232.  
  233. End.
  234.